﻿using System;
using System.Collections.Generic;
using System.Text;
using QLPMT_DTO;
using QLPMT_DAO;

namespace QLPMT_BUS
{
   public class DonGiaThuocBUS
    {
       // Lay doi tuong don gia thuoc theo ma thuoc va don vi tinh
       public DonGiaThuoc GetDonGia(string mathuoc, string madonvi)
       {
           DonGiaThuoc dto = new DonGiaDAO().GetThuocTheoMa(mathuoc, madonvi);
           return dto;
       }
       public List<DonGiaThuoc> getAll()
       {
           List<DonGiaThuoc> list = new DonGiaDAO().DanhSachDonGiaThuoc();
           List<Thuoc> thuoc = new ThuocDAO().GetAll();
           for (int i = 0; i < list.Count; i++)
           {
               for (int j = 0; j < thuoc.Count; j++)
               {
                   if (thuoc[j].Mathuoc == list[i].Mathuoc)
                   {
                       list[i].TenThuoc = thuoc[j].Tenthuoc;
                   }
               }
           }
           List<DonVi> dv = new DonViDAO().GetAll();
           for (int i = 0; i < list.Count; i++)
           {
               for (int j = 0; j < dv.Count; j++)
               {
                   if (dv[j].Madonvi == list[i].Madonvi)
                   {
                       list[i].TenDonVi = dv[j].Tendonvi;
                   }
               }
           }
           return list;
       }

       // lay ma don gia
       public string GetMaDonGia()
       {
           List<DonGiaThuoc> list = new List<DonGiaThuoc>();
           list = new DonGiaDAO().DanhSachDonGiaThuoc();
           DonGiaThuoc temp = new DonGiaThuoc();
           foreach (DonGiaThuoc X in list)
           {
               temp.Madongia = X.Madongia;
           }
           string ma = "";
           if (temp.Madongia != null)
           {
               char[] chuoi = temp.Madongia.ToCharArray(2, temp.Madongia.Length - 2);
               string chuoima = "";
               foreach (char charX in chuoi)
               {
                   chuoima = chuoima + charX;
               }
               int so = int.Parse(chuoima) + 1;
               ma = "DG" + so.ToString();
           }
           else
               ma = "DG1";
           return ma;
       }
       // Lấy số lượng tồn của thuốc
       public int GetSOLuongTon(string mathuoc, string madonvi)
       {
           DonGiaThuoc dto = new DonGiaDAO().GetThuocTheoMa(mathuoc, madonvi);
           int soluong = dto.Soluong;
           return soluong;
       }
       // Them 1don gia thuoc moi
       public Boolean InsertDonGiaThuoc(string mathuoc, string madonvi, int soluong, double dongia)
       {
           try
           {
               string ma = GetMaDonGia();
               DonGiaThuoc dto = new DonGiaThuoc(ma, mathuoc, madonvi, soluong, dongia);
               new DonGiaDAO().InsertDonGia(dto);
           }
           catch
           {
               return false;
           }
           return true;
       }
       // Cap nhat lai soluong moi
       public Boolean UpDateSoLuongTon(DonGiaThuoc dto)
       {
           try
           {
               new DonGiaDAO().UpdateSoLuongTon(dto);
           }
           catch
           {
               return false;
           }
           return true;
       }
       public void capnhatDG(DonGiaThuoc dto)
       {
           new DonGiaDAO().capNhatDG(dto);
       }
    }

}
